﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using SistemadeEstágios.Model;
using SistemadeEstágios.DAL;

namespace SistemadeEstágios.Negocio
{
    public class ResponsaveisNG
    {
        private ResponsaveisBD _dbResp;

        public ResponsaveisNG()
        {
            _dbResp = new ResponsaveisBD();
        }

        public Responsaveis Buscar(int codigo)
        {
            try
            {
                return _dbResp.Buscar(codigo);
            }
            catch (Exception)
            {
                
                throw;
            }
        }

        public List<Responsaveis> Buscar()
        {
            try
            {
                return _dbResp.Buscar();
            }
            catch (Exception)
            {
                
                throw;
            }
        }

        public bool Inserir(Responsaveis obj, bool isNovo)
        {
            try
            {
                if (!isNovo)
                {
                    if (_dbResp.CriaHistorico(obj.Codigo))
                        return _dbResp.Alterar(obj);
                    else
                        return false;
                }
                else
                    return _dbResp.Insere(obj);

            }
            catch (Exception ex)
            {
                throw new Exception("Não foi possível inserir o Responsável. Erro: " + ex.StackTrace);
            }
        }

        public int Ultimo()
        {
            try
            {
                return _dbResp.Ultimo();
            }
            catch (Exception ex)
            {
                throw new Exception("Não foi possível buscar o indice da tabela. Erro: " + ex.StackTrace);
            }
        }
    }
}
